package com.hhd.pdf.component.extField;

//import com.hhd.base.extfield.entity.ExtField;
//import com.hhd.base.extfield.service.IExtFieldService;

import com.hhd.pdf.CommonUtils;
import com.hhd.pdf.variable.VariableContext;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class DefaultExtFieldAdapter implements ExtFieldAdapter {

//    @Autowired
//    @Lazy
//    IExtFieldService extFieldService;

    @Override
    public List<ExtFieldVo> getExtFields(String dataId, String formType, VariableContext variableContext) {
        return CommonUtils.newList(
                ExtFieldVo.builder().fieldName("测试字段1").value("测试值1").build(),
                ExtFieldVo.builder().fieldName("测试字段2").value("测试值2").build(),
                ExtFieldVo.builder().fieldName("测试字段3").value("测试值3").build(),
                ExtFieldVo.builder().fieldName("测试字段4").value("测试值4").build(),
                ExtFieldVo.builder().fieldName("测试字段5").value("测试值5").build(),
                ExtFieldVo.builder().fieldName("测试字段6").value("测试值6").build(),
                ExtFieldVo.builder().fieldName("测试字段7").value("测试值7").build()
        );
//        List<ExtField> extFields = extFieldService.queryHistoryExtFieldConfigByFormType(formType, dataId);
//        extFields.sort(Comparator.comparing(ExtField::getShowOrder));
//        if (CommonUtils.isEmpty(extFields)) return CommonUtils.newList();
//
//        List<ExtFieldVo> res = CommonUtils.newList();
//        for (ExtField extField : extFields) {
//            res.add(createExtFieldVo(extField, variableContext));
//        }
//        return res;
    }

//    private ExtFieldVo createExtFieldVo(ExtField extField, VariableContext variableContext) {
//        return ExtFieldVo.builder()
//                .fieldName(getFieldName(extField))
//                .value(getFieldValue(extField, variableContext))
//                .build();
//    }
//
//    private String getFieldValue(ExtField extField, VariableContext variableContext) {
//        JSONObject container = variableContext.getContainer();
//        if (CommonUtils.isEmpty(container)) return "";
//        return container.getString(extField.getFieldName());
//    }
//
//    private String getFieldName(ExtField extField) {
//        if (!CommonUtils.isEmpty(extField.getAlias())) return extField.getAlias();
//        return extField.getShowName();
//    }
}
